#!/bin/bash

# 保存SQL语句的文件
# EOF 可以替换为自定义的比如BBBB
# done < ${1} 表示参数作为read的文件参数
# read会读取csv格式的文件并且把内容自动赋值给指定参数
# cat >> $outfile 表示cat重定向到文件
# cat >> $outfile << EOF 表示cat输入的重定向，使用自定义的输入
# ！！EOF符号标记了追加到文件中的数据的起止。
# ！！第一个EOF位于<<之后且在同一行，第二个EOF前面不能有其他字符
# INSERT INTO members $lname 这些内容会将会被写入到文件中
outfile='members.sql'
IFS=','
while read lname 
do
# 这里是自定义的输入内容
cat >> $outfile << EOF
INSERT INTO members(name) values('$lname')
EOF
done < ${1}

# user.csv文件中内容
# 张三
# 李四
# 王五
# 赵六

# 执行
# ➜  les4 git:(master) ✗ ./sqlgen.sh user.csv

# 结果
# INSERT INTO members(name) values('张三')
# INSERT INTO members(name) values('李四')
# INSERT INTO members(name) values('王五')

